package org.wu.framework.authorization.platform.application.assembler;

import org.wu.framework.authorization.platform.domain.model.sys.zone.SysZone;
import org.wu.framework.authorization.platform.application.command.sys.zone.SysZoneRemoveCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.SysZoneStoryCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.SysZoneUpdateCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.SysZoneQueryListCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.SysZoneQueryOneCommand;
import org.wu.framework.authorization.platform.application.dto.SysZoneDTO;
import org.wu.framework.authorization.platform.application.command.sys.zone.SysZoneExcelExport;
import org.wu.framework.authorization.platform.application.command.sys.zone.SysZoneExcelImport;
import org.wu.framework.core.mapper.LazyStructMappers;
import org.wu.framework.core.mapper.LazyStructMapper;
/**
 * describe 系统区域 
 *
 * @author Jia wei Wu
 * @date 2025/07/27 03:22 下午
 * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler 
 **/
@LazyStructMapper
public interface SysZoneDTOAssembler {


    /**
     * describe LazyStructMapper 创建的代理对象
     *
     
     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
    SysZoneDTOAssembler INSTANCE = LazyStructMappers.getMapper(SysZoneDTOAssembler.class);
    /**
     * describe 应用层存储入参转换成 领域对象
     *
     * @param sysZoneStoryCommand 保存系统区域对象     
     * @return {@link SysZone} 系统区域领域对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZone toSysZone(SysZoneStoryCommand sysZoneStoryCommand);
    /**
     * describe 应用层更新入参转换成 领域对象
     *
     * @param sysZoneUpdateCommand 更新系统区域对象     
     * @return {@link SysZone} 系统区域领域对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZone toSysZone(SysZoneUpdateCommand sysZoneUpdateCommand);
    /**
     * describe 应用层查询入参转换成 领域对象
     *
     * @param sysZoneQueryOneCommand 查询单个系统区域对象参数     
     * @return {@link SysZone} 系统区域领域对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZone toSysZone(SysZoneQueryOneCommand sysZoneQueryOneCommand);
    /**
     * describe 应用层查询入参转换成 领域对象
     *
     * @param sysZoneQueryListCommand 查询集合系统区域对象参数     
     * @return {@link SysZone} 系统区域领域对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZone toSysZone(SysZoneQueryListCommand sysZoneQueryListCommand);
    /**
     * describe 应用层删除入参转换成 领域对象
     *
     * @param sysZoneRemoveCommand 删除系统区域对象参数     
     * @return {@link SysZone} 系统区域领域对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZone toSysZone(SysZoneRemoveCommand sysZoneRemoveCommand);
    /**
     * describe 持久层领域对象转换成DTO对象
     *
     * @param sysZone 系统区域领域对象     
     * @return {@link SysZoneDTO} 系统区域DTO对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZoneDTO fromSysZone(SysZone sysZone);
    /**
     * describe 持久层领域对象转换成导出数据对象
     *
     * @param sysZone 系统区域领域对象     
     * @return {@link SysZoneExcelExport} 系统区域导出数据对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZoneExcelExport fromSysZoneToExcelExport(SysZone sysZone);
    /**
     * describe 应用层导入入参转换成 领域对象
     *
     * @param sysZoneExcelImport 导入系统区域对象参数     
     * @return {@link SysZone} 系统区域领域对象     
     
     * @author Jia wei Wu
     * @date 2025/07/27 03:22 下午
     **/
     SysZone toSysZone(SysZoneExcelImport sysZoneExcelImport);
}